﻿Public Class frmPotwierdzeniaZlecenia
    'formularz daje możliwość dodania dodatkowych informacji do wydruku potwierdzenia zlecenia;
    'przycisk 'OK' sprawdza czy podano dodatkowych informacji jeśli tak to wywołuje procedure zapisu do bazy danych oraz wyświetla potwierdzenie
    'jeśli nie to od razu wyświetla potwierdzenie;
    Private mvarChanged As Boolean
    Private mvarCancel As Boolean = False
    Private mvarDbHolder As clsDataBase
    Private mvarZlecenieId As Integer
    Private mvarPotwierdzenie As New clsInhPotwierdzenieZlecenia

    Public Sub New(ByVal IdZlecenia As Integer)

        ' To wywołanie jest wymagane przez projektanta.
        InitializeComponent()

        ' Dodaj inicjację po wywołaniu funkcji InitializeComponent().
        mvarChanged = False
        mvarDbHolder = New clsDataBase(VAR_CONNECTION_PARAMETERS, VAR_ERROR_HANDLER)
        mvarZlecenieId = IdZlecenia
        UzupelnijInformacje()
        mvarChanged = False

    End Sub

    Private Sub UzupelnijInformacje()

        txtInformacje.Text = mvarPotwierdzenie.SzukajPotwierdzenia(mvarDbHolder, VAR_ERROR_HANDLER, CStr(mvarZlecenieId))

    End Sub

    Private Sub Zapisz()

        With mvarPotwierdzenie
            .Id = mvarPotwierdzenie.InhId
            .ZlecenieId = mvarZlecenieId
            .Informacje = txtInformacje.Text
            .Save(mvarDbHolder, VAR_ERROR_HANDLER)
        End With
        MessageBox.Show("Zapisano do bazy.", "WIREMET")
        mvarChanged = False
        WyswietlPotwierdzenie()

    End Sub

    Private Sub WyswietlPotwierdzenie()

        Dim potwierdzenieZleceniaReport As New PotwierdzenieZleceniaReport()
        potwierdzenieZleceniaReport.SetParameterValue("p_id_zlecenia", mvarZlecenieId)
        Dim reportPreview As New frmPrintViewer(potwierdzenieZleceniaReport, False)
        reportPreview.ShowDialog()
        Close()

    End Sub

    Private Sub cmdOK_Click(sender As Object, e As EventArgs) Handles cmdOK.Click

        If mvarChanged Then
            Zapisz()
        Else
            WyswietlPotwierdzenie()
        End If

    End Sub

    Private Sub frmPotwierdzenia_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
        mvarDbHolder.Close()
    End Sub

    Private Sub txtInformacje_TextChanged(sender As Object, e As EventArgs) Handles txtInformacje.TextChanged
        mvarChanged = True
    End Sub

End Class